﻿using System;
using System.Collections.Generic;
using Autodesk.Revit.DB;
using YJKArchMethodLibrary.Utils;

namespace AreaEdit.AreaSet
{
	public struct RichPoint
	{
		public RichPoint(XYZ point, Curve curve)
		{
			this.m_point = point;
			this.m_curves = new List<Curve>();
			this.m_lstCurveInformationBean = new List<CurveInformationBean>();
			this.m_curves.Add(curve);
		}

		public RichPoint(XYZ point, CurveInformationBean inputCurveInformationBean)
		{
			this.m_point = point;
			this.m_curves = new List<Curve>();
			this.m_lstCurveInformationBean = new List<CurveInformationBean>();
			this.AddCurve(inputCurveInformationBean);
		}

		public void AddCurve(CurveInformationBean inputCurveInformationBean)
		{
			this.m_lstCurveInformationBean.Add(inputCurveInformationBean);
			this.AddCurve(inputCurveInformationBean.ThisCurve);
		}

		public void AddCurve(Curve curve)
		{
			this.m_curves.Add(curve);
		}

		public XYZ m_point;

		public List<Curve> m_curves;

		public List<CurveInformationBean> m_lstCurveInformationBean;
	}
}
